home *** CD-ROM | disk | FTP | other *** search
- |
- | //
- | \X/ Flowerpower präsentiert *verdammt* stolz
- |
- -----+------------------------------------------------------------------------
- |
- | einen Stereo CD-DA Spieler basierend auf einem 14 Bit Treiber
- |
- | mit einem coolen CLI, Workbench und DeliTracker Interface
- |
- | für Toshiba 4101 CDRom Laufwerke und Kompatible (*)
- |
- |
-
- (*) Unterstützung für andere Laufwerkstypen ist geplant
-
-
- EMAIL: flowerp@eikon.e-technik.tu-muenchen.de
-
-
-
- EINLEITUNG
- ----------
-
- Dieses Utility entstand, weil ich mich zur Zeit stark mit
- Sound-Programmierung beschäftige. Ich habe vor, die alten Amiga
- Soundtreiber (audio.device, Sound Datatypes) durch mächtigere und
- flexiblere zu ersetzen.
-
- Der CD-DA Spieler wurde eigentlich nur geschrieben, um den 14 Bit Treiber
- zu testen, der ebenfalls in diesem Archiv enthalten ist. Dieser Treiber
- ist mein erster Schritt in Richtung eines komplexen Mehrkanal-Soundsystems
- (Arbeitsname: "CyberSound").
-
- Da sich dieses Utility sich als sehr lustig und auch nützlich erwiesen hat,
- habe ich mich entschlossen, eine Benutzerschnittstelle zu erstellen und das
- Programm zu veröffentlichen. Außerdem kann ich ein wenig mit meinem 14
- Bit-Treiber angeben und Ihnen das Konzept meines geplanten Soundsystems
- etwas näherbringen. Ich hoffe wirklich, daß dieses Projekt erfolgreich
- abgeschlossen werden kann.
-
- Zu dem Zeitpunkt, da ich dieses Dokument schreibe, höre ich gerade einen
- schönen CD-DA Soundtrack in vollem Multitasking über die Amiga-Soundkanäle.
- Man kann wirklich kaum einen Unterschied zu "echtem" CD-Sound heraushören.
-
-
-
- LEISTUNGSMERKMALE
- -----------------
-
- Dieses Programm spielt CD-DA Daten durch die Amiga Soundkanäle in 22kHz
- Stereo auf ECS-Maschinen und in 44kHz auf AGA-Rechnern in bestimmten
- Screenmodi ab.
-
- Sie können auch gemischte CDs anhören, die sowohl Daten- auch als Musik
- enthalten (z.B. Spiele-CDs). Die Datenspuren werden übersprungen.
-
-
-
- DIE CLI-SCHNITTSTELLE
- ---------------------
-
- Die Kommandoschablone ist wie folgt:
-
- TRACKS/N/M,DEVICE/K,UNIT/N/K,SOUNDDRIVER/K,REPEAT/S,...
- FREQUENCY/N,QUALITY/N,BUFFERS/N,HIGHPRI/S
-
- TRACKS/N/M
-
- Eine Liste der Audio Titel, die in der angegebenen Reihenfolge gespielt
- werden sollen. Wird hier nichts angegeben, so werden alle Titel gespielt.
-
- DEVICE/K
-
- Hier geben Sie Ihren SCSI Treiber an. Ansonsten wird "scsi.device"
- benutzt.
-
- UNIT/N/K
-
- Hier geben Sie die SCSI-Einheit Ihres CDRom an. Ansonsten wird die Nummer
- 3 benutzt.
-
- SOUNDDRIVER/K
-
- Hier wird gewöhnlich "14bit.driver" benutzt. Es ist der einzige
- Soundtreiber, der bisher existiert. Er ist noch lange nicht perfekt oder
- fertiggestellt.
-
- REPEAT/S
-
- Ein Schalter, der den Wiederholungs-Modus aktiviert. Die Titelliste wird
- wiederholt abgespielt, wenn dieser Parameter angegeben wird.
-
- FREQUENCY/N
-
- Sie können hiermit versuchen, die CD in einer anderen Frequenz anzuhören.
- Normal werden 44100 Hz verwendet. Höhere Frequenzen werden wahrscheinlich
- nicht gut funktionieren (CDRom zu langsam), aber langsameres Abspielen kann
- sehr lustig klingen.
-
- QUALITY/N
-
- Hier können Sie den Qualitätsfaktor angeben. Er steht normalerweise auf 1.
- Das bedeutet, dass jedes Sample-Wort ausgegeben wird. Der Wert 3 zum
- Beispiel bedeutet, dass nur jedes dritte Sample ausgegeben wird, weshalb
- die effektive Ausgabefrequenz durch drei geteilt wird. Anmerkung: Das
- Programm wird diesen Wert automatisch erhöhen, wenn Ihre Hardware nicht in
- der Lage ist, die gewünschte Frequenz auszugeben. Auf ECS-Rechnern wird
- dieser Wert immer auf zwei erhöht. Auf AGA Maschinen paßt sich dieser Wert
- während des Abspielens immer dem aktuellen Screenmode an.
-
- BUFFERS/N
-
- Dieser Wert definiert die Größer der Puffer, die im RAM belegt werden, um
- die CD-DA Daten vom Laufwerk aufzunehmen. Drei Puffer werden benötigt.
- Ein Wert von 75 bedeutet Platz für eine Sekunde. Der voreingestellte Wert
- beträgt hier 20. Der gesamte Speicherverbrauch kann mit folgender Formel
- berechnet werden: Speicherverbrauch = BUFFERS * 7056 Byte.
-
- HIGHPRI/S
-
- Dieses Flag erhöht die Task-Priorität Ihres SCSI Treibers, sodaß das
- Abspielen nicht länger durch das Bewegen und Verändern von Fenstern gestört
- wird. Seien Sie vorsichtig: Das muß nicht unbedingt mit allen SCSI
- Treibern funktionieren. Sie sind also gewarnt. Wenn Sie dieses Flag
- setzen, so können Sie sehr kleine Puffer-Werte benutzen (z.B. 3). Die
- Priorität wird beim Verlassen des Programmes wieder zurückgesetzt.
-
- PUBSCREEN/K
-
- Diese Option erlaubt Ihnen, den Namen des öffentlichen Bildschirms
- anzugeben, auf dem sich das Fenster des CDPlayers öffnen soll.
-
- GUI/S
-
- Hiermit öffnet der CDPlayer seine grafische Benutzerschnittstelle. Das
- kann nützlich sein, wenn Sie den CDPlayer von einer Shell aus starten.
-
-
-
- DIE WORKBENCH-SCHNITTSTELLE
- ---------------------------
-
- Die Workbench-Schnittstelle benutzt das TapeDeck Gadget, das von Commodore
- auf den Workbench 3.0 Disketten ausgeliefert wird. Dieses benötigt also
- wahrscheinlich auch Kickstart 3.0. Ich weiß nicht, ob diese Gadget-Klasse
- auch mit Kickstart 2.0 funktioniert. Das TapeDeck Gadget ist einfach, aber
- funktional. Manch einer mag die DeliTracker-Schnittstelle vorziehen, die
- weiter unten erklärt wird.
-
- Sie können die folgenden Tooltypes in das Programm-Icon eintragen:
-
- TRACKS =<Titel Liste>
- DEVICE =<Device Name>
- UNIT =<Device Einheit>
- SOUNDDRIVER=<Treiber-Name>
- REPEAT =<TRUE/FALSE oder YES/NO>
- FREQUENCY =<Zahl>
- QUALITY =<Zahl>
- BUFFERS =<Zahl>
- HIGHPRI =<TRUE/FALSE oder YES/NO>
- PUBSCREEN =<Name des Bildschirmes>
-
- Wenn Sie bei REPEAT oder HIGHPRI das Argument weglassen, nimmt das Programm
- an, der Schalter sei gesetzt (TRUE).
-
-
-
- DIE DELITRACKER-SCHNITTSTELLE
- -----------------------------
-
- Dieses Programm kann auch zusammen mit DeliTracker verwendet werden.
- Kopieren Sie es einfach in die Players-Schublade Ihrer
- DeliTracker-Installation. Um den Player zu aktivieren, müssen Sie ein oder
- mehrere "Alibi"-Module erstellen. Benutzen Sie einen Text-Editor und
- schreiben die folgende Zeile:
-
- CD-DA [OPTIONEN]
-
- Speichern Sie diese Datei, wohin Sie wünschen. Der [OPTIONEN] Parameter
- ist (man glaubt es kaum) optional und darf alle Argumente enthalten, die
- oben bei der CLI-Schnittstelle beschrieben wurden.
-
- Wenn Sie dieses Modul dann mit dem DeliTracker abspielen, können Sie sich
- die CD anhören. Benutzen Sie die Schalter des DeliTracker, um sich auf der
- CD zu bewegen.
-
- Mit den +/- Geschwindigkeits-Knöpfen auf der linken Seite können Sie die
- Abspielfrequenz in 100 Hz-Schritten justieren. Mit den << und >> Knöpfen
- ist es möglich, im aktuellen Lied um 10 Sekunden zu springen.
-
-
-
- VOREINSTELLUNGEN
- ----------------
-
- Um zu vermeiden, daß man immer wieder die selben Optionen angeben muß,
- können Sie die am häufigsten verwendeten Parameter in einer
- Environment-Variable namens CD-DA_DEFAULTS abspeichern. Diese Parameter
- sind die gleichen, die auch bei der CLI-Schnittstelle gelten. Sie werden
- durch die Optionen überlagert, die dann jeweils im CLI, den ToolTypes oder
- im "Alibi"-Modul angegeben werden. Beachten Sie: Eine Titel-Liste wird in
- den Voreinstellungen ignoriert.
-
-
-
- HINWEISE, TIPS & TRICKS
- -----------------------
-
- Dieses Programm wird Ihr System merklich verlangsamen. Wie stark, hängt
- vor allem von Ihrem SCSI Controller ab (DMA-Zugriff ist von großem
- Vorteil).
-
- Die 14Bit Soundausgabe ist nicht so laut, wie Sie es von Ihrem Amiga
- gewohnt sind. Sie werden wahrscheinlich die Lautstärke an Ihrem Verstärker
- etwas hochregeln müssen.
-
- Wenn Sie Unterbrechungen beim Spielen bemerken, versuchen Sie die
- Unit-Nummer Ihres CDRoms höher zu setzen, als die Ihrer Festplatten.
- Höhere Unit-Nummern haben auf dem SCSI-Bus den Vorrang. Bei starkem
- Festplattenzugriff werden Unterbrechungen allerdings kaum ganz zu vermeiden
- sein. Das Toshiba CDRom liefert die Daten leider nur mit "Single-Speed",
- deshalb ist das Timing *sehr* kritisch. Ich habe eine ganze Menge Arbeit
- in die Perfektion der I/O Routinen investiert.
-
- Wenn Sie beim Bewegen oder Verändern von Fenstern Unterbrechungen hören,
- dann versuchen Sie einmal, den HIGHPRI-Schalter zu setzen. Dieser wird die
- Priorität Ihres SCSI Treibers über die des input.device erhöhen. Das
- funktioniert allerdings nur, wenn der SCSI Treiber als ein Task läuft und
- die IORequest von diesem Task aus beantwortet werden. Im Programm befindet
- sich ein wenig Extra-Code, um dem A590/A2091 Controller in dieser Hinsicht
- zu unterstützen (er benutzt zwei Tasks).
-
- Kleinere Puffer-Werte bedeuten eine kürzere Reaktionszeit auf die Schalter
- im DeliTracker. Aber kleine Puffer erhöhen auch die Gefahr von
- Audio-Unterbrechungen. Vernünftige Werte beginnen ungefähr mit 3.
-
- Versuchen Sie nicht, auf die Daten-Sektion der CD zuzugreifen, während Sie
- die CD anhören. Leider gibt es kein Protokoll, um das CDRom Laufwerk
- zwischen zwei Tasks zu teilen. Deshalb können sich CDRom-Treiber wie
- AmiCDRom und dieser Spieler gegenseitig in die Quere kommen. Nachdem Sie
- eine CD ins Laufwerk eingelegt haben, warten Sie bitte eine Weile, bis das
- DOS und die Workbench die CD identifiziert haben und das Icon dargestellt
- haben. Erst dann sollten Sie das Abspielen starten.
-
- 14 Bit ist nicht ganz so gut wie 16Bit. Aber versuchen Sie mal, den
- Unterschied herauszuhören. Sogar mit Kopfhörern ist das recht schwierig.
- Die 22kHz auf ECS Maschinen sind natürlich nicht *ganz* so gut wie 44kHz.
- Nunja, schieben Sie es auf Paula. Aber auch das klingt immernoch sehr gut!
-
-
-
- RECHTLICHES
- -----------
-
- Das Programm ist Public Domain. Es darf nur zusammen mit den Quelltexten
- und der Dokumentation weitergegeben werden.
-
- Dieses Programm funktioniert auf meinem Computer. Ich kann weder
- garantieren, daß dieses Programm auch auf Ihrem Rechner funktioniert, noch
- daß es fehlerfrei ist. Ich bin nicht verantwortlich für irgendwelche
- Schäden, die dieses Programm unter Umständen bei Ihnen anrichtet.
-
-
-
- PROGRAMM-ENTWICKLUNGSGESCHICKTE
- -------------------------------
-
- CDPlayer 1.1
-
- * GUI und PUBSCREEN Optionen hinzugefügt
-
- * Auswahl des Stream-Formates beim Soundtreiber (16 Bit Big Endian)
-
-
-
- MÖGLICHE ERWEITERUNGEN
- ----------------------
-
- * ebenfalls eine Datatypes-Schnittstelle (und alles in einem File!)
-
- * eine "echte" CD-DA Version des Spielers (über die Audio-Kanäle des CDRoms)
-
- * Unterstütztung anderer CDRom-Laufwerke (senden Sie mir Infos dazu!)
-
- * Verbesserung des 14 Bit Treibers
-
- * Treiber für andere Soundkarten schreiben (Toccata, Maestro)
-
- * Nachdem CyberSound fertiggestellt ist, diesen Treiber anpassen, um die
- Fähigkeiten des neuen Soundsystems auszunutzen. Dann kann jeder Task
- jeden beliebigen Sound spielen, während Sie der CD zuhören! (genug
- CPU-Power vorausgesetzt!)
-
-
-
- KONTAKT-ADDRESSE
- ----------------
-
- EMAIL: flowerp@eikon.e-technik.tu-muenchen.de
-
- FidoNet: 2:2480/465
-
- Schneckenpost:
-
- Christian Buchner
- Ganghoferstraße 2
- 82110 Germering
- Deutschland
- Tel.: +49-(0)89/844872
-